package org2.jogo.activities;

import org2.jogo.Global;
import org2.jogo.R;
import org2.jogo.Utils;
import org2.jogo.models.SetPerguntas;
import adapters.LeaderboardDbAdapter;
import adapters.PerguntasDbAdapter;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.TextView;

public class ResultadoJogoActivity extends GameActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TextView txtPontuacao = (TextView) findViewById(R.id.txtPontuacao);
        SetPerguntas jogo = Global.getJogo();
        int pontuacao = 0;
        try {
            pontuacao = jogo.getPontuacaoTotal();
        } catch (Exception ex) {
        }
        txtPontuacao.setText(pontuacao + " pontos");
        LeaderboardDbAdapter adapter = LeaderboardDbAdapter.getDbAdapter(this);
        try {
            adapter.decoraPontuacao(jogo.getPontuacaoDecorada().getContentValues());
        } catch (Exception ex) {
            Utils.showToast(this, "Não foi possível salvar sua pontuação devido a um erro.");
            ex.printStackTrace();
        }
        RatingBar rate = (RatingBar) findViewById(R.id.ratePontuacao);
        rate.setProgress(pontuacao / 10);
        Button btnRestart = (Button) findViewById(R.id.btnRestart);
        Button btnMenu = (Button) findViewById(R.id.btnMenu);
        btnRestart.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                try {
                    SetPerguntas jogo = Global.getJogo();
                    Global.inicializaJogo(PerguntasDbAdapter.getDbAdapter(ResultadoJogoActivity.this),
                            jogo.getDificuldade(), jogo.getNomeJogador());
                } catch (Exception ex) {
                    Utils.showLongToast(ResultadoJogoActivity.this,
                            "Desculpa, mas não foi possível iniciar o jogo pois não há perguntas o suficiente.");
                }
                Intent i = new Intent(ResultadoJogoActivity.this, ExibePerguntaActivity.class);
                startActivity(i);
            }
        });
        btnMenu.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent i = new Intent(ResultadoJogoActivity.this, MainActivity.class);
                startActivity(i);
            }
        });
    }

    @Override
    public void onBackPressed() {
        return;
    }

    @Override
    protected int getContentView() {
        return R.layout.resultado_jogo;
    }

    @Override
    protected int getMusicaFundo() {
        return R.raw.music_bg_resultado;
    }

    @Override
    protected String getTitulo() {
        return "Resultado";
    }

}
